home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / database / ad3dcal3.zip / SAM3DCAL.ZIP / CALDEMO.PAS < prev    next >
Pascal/Delphi Source File  |  1996-02-26  |  36KB  |  997 lines

  1. unit Caldemo;
  2.  
  3. interface
  4.  
  5. uses WinTypes, WinProcs, Classes, Graphics, Forms, Controls, Menus,
  6.   Dialogs, StdCtrls, Buttons, ExtCtrls, Ad3dcal, SysUtils,
  7.   TabNotBk;
  8.  
  9. type
  10.   TTAdrock3dCalendarForm = class(TForm)
  11.     Image1: TImage;
  12.     Image2: TImage;
  13.     TabbedNotebook1: TTabbedNotebook;
  14.     Adrock3dCalendar2: TAdrock3dCalendar;
  15.     Adrock3dCalendar1: TAdrock3dCalendar;
  16.     BitBtn3: TBitBtn;
  17.     BitBtn4: TBitBtn;
  18.     BitBtn5: TBitBtn;
  19.     BitBtn6: TBitBtn;
  20.     BitBtn7: TBitBtn;
  21.     BitBtn8: TBitBtn;
  22.     BitBtn9: TBitBtn;
  23.     BitBtn10: TBitBtn;
  24.     Label3: TLabel;
  25.     Adrock3dCalendar3: TAdrock3dCalendar;
  26.     EventsListBox: TListBox;
  27.     Panel1: TPanel;
  28.     BitBtn13: TBitBtn;
  29.     OnDateChangeCheckBox: TCheckBox;
  30.     onDayChangeCheckBox: TCheckBox;
  31.     onMonthChangeCheckBox: TCheckBox;
  32.     OnYearChangeCheckBox: TCheckBox;
  33.     OnCellClickCheckBox: TCheckBox;
  34.     onCellDblClickCheckBox: TCheckBox;
  35.     OptionsGroupBox: TGroupBox;
  36.     MonthAndYearComboRadioButton: TRadioButton;
  37.     NothingRadioButton: TRadioButton;
  38.     MonthAndYearLabelsRadioButton: TRadioButton;
  39.     ShowOnCalendarGroupBox: TGroupBox;
  40.     ShowButtonsCheckBox: TCheckBox;
  41.     ShowWeekDayHeaderCheckBox: TCheckBox;
  42.     ShowSaturdayColorCheckBox: TCheckBox;
  43.     ShowSundayColorCheckBox: TCheckBox;
  44.     ShowPrevNextMonthCheckBox: TCheckBox;
  45.     CalendarButton: TBitBtn;
  46.     TodayButton: TBitBtn;
  47.     SetDateButton: TBitBtn;
  48.     ScrollBar1: TScrollBar;
  49.     ScrollBar2: TScrollBar;
  50.     ScrollBar3: TScrollBar;
  51.     ScrollBar4: TScrollBar;
  52.     Label4: TLabel;
  53.     Label5: TLabel;
  54.     Label6: TLabel;
  55.     Label7: TLabel;
  56.     Adrock3dCalendar4: TAdrock3dCalendar;
  57.     ScrollBar5: TScrollBar;
  58.     ScrollBar6: TScrollBar;
  59.     ScrollBar7: TScrollBar;
  60.     ScrollBar8: TScrollBar;
  61.     Label8: TLabel;
  62.     Label9: TLabel;
  63.     Label10: TLabel;
  64.     Label11: TLabel;
  65.     Label12: TLabel;
  66.     ScrollBar9: TScrollBar;
  67.     HorizontalAlignmentGroupBox: TGroupBox;
  68.     RadioButton4: TRadioButton;
  69.     RadioButton5: TRadioButton;
  70.     RadioButton6: TRadioButton;
  71.     VerticalAlignmentGroupBox: TGroupBox;
  72.     RadioButton7: TRadioButton;
  73.     RadioButton8: TRadioButton;
  74.     RadioButton9: TRadioButton;
  75.     CellSpaceGroupBox: TGroupBox;
  76.     ScrollBar10: TScrollBar;
  77.     ScrollBar11: TScrollBar;
  78.     Label13: TLabel;
  79.     Label14: TLabel;
  80.     CheckBox1: TCheckBox;
  81.     CheckBox3: TCheckBox;
  82.     Adrock3dCalendar5: TAdrock3dCalendar;
  83.     ListBox3: TListBox;
  84.     ListBox5: TListBox;
  85.     ListBox4: TListBox;
  86.     CellBevelGroupBox: TGroupBox;
  87.     Label16: TLabel;
  88.     ScrollBar13: TScrollBar;
  89.     RadioButton10: TRadioButton;
  90.     RadioButton11: TRadioButton;
  91.     RadioButton12: TRadioButton;
  92.     CellSurroundGroupBox: TGroupBox;
  93.     Label15: TLabel;
  94.     ScrollBar12: TScrollBar;
  95.     RadioButton13: TRadioButton;
  96.     RadioButton14: TRadioButton;
  97.     RadioButton15: TRadioButton;
  98.     FontDialog1: TFontDialog;
  99.     Edit1: TEdit;
  100.     Label17: TLabel;
  101.     Label18: TLabel;
  102.     Label19: TLabel;
  103.     Label20: TLabel;
  104.     Adrock3dCalendar6: TAdrock3dCalendar;
  105.     BitBtn12: TBitBtn;
  106.     BitBtn17: TBitBtn;
  107.     BitBtn16: TBitBtn;
  108.     ColorDialog1: TColorDialog;
  109.     BitBtn11: TBitBtn;
  110.     BitBtn18: TBitBtn;
  111.     BitBtn19: TBitBtn;
  112.     BitBtn20: TBitBtn;
  113.     BitBtn21: TBitBtn;
  114.     BitBtn22: TBitBtn;
  115.     BitBtn23: TBitBtn;
  116.     BitBtn24: TBitBtn;
  117.     BitBtn25: TBitBtn;
  118.     Label21: TLabel;
  119.     Adrock3dCalendar7: TAdrock3dCalendar;
  120.     Label22: TLabel;
  121.     SelectedDateLabel: TLabel;
  122.     Label23: TLabel;
  123.     SelectedDayLabel: TLabel;
  124.     Label25: TLabel;
  125.     SelectedMonthLabel: TLabel;
  126.     SelectedYearLabel: TLabel;
  127.     Label26: TLabel;
  128.     Label27: TLabel;
  129.     DayOfWeekLabel: TLabel;
  130.     DayOfYearLabel: TLabel;
  131.     Label32: TLabel;
  132.     Label28: TLabel;
  133.     WeekOfYearLabel: TLabel;
  134.     WeekOfMonthLabel: TLabel;
  135.     Label30: TLabel;
  136.     Label24: TLabel;
  137.     CenturyLabel: TLabel;
  138.     Quarter: TLabel;
  139.     QuarterLabel: TLabel;
  140.     Label29: TLabel;
  141.     DayThLabel: TLabel;
  142.     Label31: TLabel;
  143.     DaysAgoLabel: TLabel;
  144.     Label33: TLabel;
  145.     WeeksAgoLabel: TLabel;
  146.     Label35: TLabel;
  147.     MonthsAgoLabel: TLabel;
  148.     Label37: TLabel;
  149.     YearsAgoLabel: TLabel;
  150.     Label34: TLabel;
  151.     DaysBetweenDatesLabel: TLabel;
  152.     Label38: TLabel;
  153.     WeeksBetweenDatesLabel: TLabel;
  154.     Label40: TLabel;
  155.     MonthsBetweenDatesLabel: TLabel;
  156.     Label42: TLabel;
  157.     YearsBetweenDatesLabel: TLabel;
  158.     Label36: TLabel;
  159.     BoundryWeeksBetweenDatesLabel: TLabel;
  160.     Label39: TLabel;
  161.     BoundryMonthsBetweenDatesLabel: TLabel;
  162.     Label43: TLabel;
  163.     BoundryYearsBetweenDatesLabel: TLabel;
  164.     Label41: TLabel;
  165.     DelphiDayOfWeekLabel: TLabel;
  166.     Label44: TLabel;
  167.     Label45: TLabel;
  168.     BoundryQuartersBetweenDatesLabel: TLabel;
  169.     Label46: TLabel;
  170.     QuartersAgoLabel: TLabel;
  171.     Adrock3dCalendar8: TAdrock3dCalendar;
  172.     Label2: TLabel;
  173.     SelectedDateLabel1: TLabel;
  174.     Label48: TLabel;
  175.     SelectedDatePlus1DayLabel: TLabel;
  176.     Label50: TLabel;
  177.     Label47: TLabel;
  178.     Label54: TLabel;
  179.     SelectedDatePlus1WeekLabel: TLabel;
  180.     SelectedDatePlus1MonthLabel: TLabel;
  181.     SelectedDatePlus1YearLabel: TLabel;
  182.     Label49: TLabel;
  183.     SelectedDateMinus1DayLabel: TLabel;
  184.     Label52: TLabel;
  185.     Label53: TLabel;
  186.     Label55: TLabel;
  187.     SelectedDateMinus1WeekLabel: TLabel;
  188.     SelectedDateMinus1MonthLabel: TLabel;
  189.     SelectedDateMinus1YearLabel: TLabel;
  190.     Label51: TLabel;
  191.     AddDateLabel: TLabel;
  192.     AddDateType: TEdit;
  193.     AddDateNumber: TEdit;
  194.     Label57: TLabel;
  195.     Label58: TLabel;
  196.     DateDiffLabel: TLabel;
  197.     DateDiffType: TEdit;
  198.     Label56: TLabel;
  199.     Label59: TLabel;
  200.     Label60: TLabel;
  201.     Label61: TLabel;
  202.     UpdateAddDateButton: TBitBtn;
  203.     UpdateDateDiffButton: TBitBtn;
  204.     Label1: TLabel;
  205.     DaysLeftInYearLabel: TLabel;
  206.     Label63: TLabel;
  207.     DayOfMonthLabel: TLabel;
  208.     Label65: TLabel;
  209.     Label62: TLabel;
  210.     DaysLeftInMonthLabel: TLabel;
  211.     Label64: TLabel;
  212.     QuartersBetweenDatesLabel: TLabel;
  213.     Label66: TLabel;
  214.     OnWeekChangeCheckBox: TCheckBox;
  215.     procedure Adrock3dCalendar2KeyPress(Sender: TObject; var Key: Char);
  216.     procedure OwnerDrawCheckBoxClick(Sender: TObject);
  217.     procedure Adrock3dCalendar5DrawCell(Sender: TObject; CellRect: TRect;
  218.       Day, CellID: Integer; CellInCurrentMonth, Selected: Boolean;
  219.       var UseDefaultDrawing: Boolean);
  220.     procedure Adrock3dCalendar2DBlCLick(Sender: TObject);
  221.     procedure Adrock3dCalendar2DateChange(Sender: TObject);
  222.     procedure UpdateAddDateButtonClick(Sender: TObject);
  223.     procedure ListBox4DragDrop(Sender, Source: TObject; X, Y: Integer);
  224.     procedure Adrock3dCalendar5DragOver(Sender, Source: TObject; X,
  225.       Y: Integer; State: TDragState; var Accept: Boolean);
  226.     procedure Adrock3dCalendar5DragDrop(Sender, Source: TObject; X,
  227.       Y: Integer);
  228.     procedure ListBox4DragOver(Sender, Source: TObject; X, Y: Integer;
  229.       State: TDragState; var Accept: Boolean);
  230.     procedure FormCreate(Sender: TObject);
  231.     procedure BitBtn13Click(Sender: TObject);
  232.     procedure Adrock3dCalendar3DateChange(Sender: TObject);
  233.     procedure Adrock3dCalendar3DayChange(Sender: TObject);
  234.     procedure Adrock3dCalendar3MonthChange(Sender: TObject);
  235.     procedure Adrock3dCalendar3YearChange(Sender: TObject);
  236.     procedure MonthAndYearLabelsRadioButtonClick(Sender: TObject);
  237.     procedure MonthAndYearComboRadioButtonClick(Sender: TObject);
  238.     procedure NothingRadioButtonClick(Sender: TObject);
  239.     procedure ShowButtonsCheckBoxClick(Sender: TObject);
  240.     procedure ShowWeekDayHeaderCheckBoxClick(Sender: TObject);
  241.     procedure ShowSaturdayColorCheckBoxClick(Sender: TObject);
  242.     procedure ShowSundayColorCheckBoxClick(Sender: TObject);
  243.     procedure ShowPrevNextMonthCheckBoxClick(Sender: TObject);
  244.     procedure ScrollBar1Change(Sender: TObject);
  245.     procedure ScrollBar2Change(Sender: TObject);
  246.     procedure ScrollBar3Change(Sender: TObject);
  247.     procedure ScrollBar4Change(Sender: TObject);
  248.     procedure CalendarButtonClick(Sender: TObject);
  249.     procedure BitBtn7Click(Sender: TObject);
  250.     procedure BitBtn8Click(Sender: TObject);
  251.     procedure BitBtn9Click(Sender: TObject);
  252.     procedure BitBtn10Click(Sender: TObject);
  253.     procedure BitBtn3Click(Sender: TObject);
  254.     procedure BitBtn4Click(Sender: TObject);
  255.     procedure BitBtn5Click(Sender: TObject);
  256.     procedure BitBtn6Click(Sender: TObject);
  257.     procedure TodayButtonClick(Sender: TObject);
  258.     procedure SetDateButtonClick(Sender: TObject);
  259.     procedure ScrollBar5Change(Sender: TObject);
  260.     procedure ScrollBar6Change(Sender: TObject);
  261.     procedure ScrollBar7Change(Sender: TObject);
  262.     procedure ScrollBar8Change(Sender: TObject);
  263.     procedure ScrollBar9Change(Sender: TObject);
  264.     procedure ScrollBar10Change(Sender: TObject);
  265.     procedure ScrollBar11Change(Sender: TObject);
  266.     procedure RadioButton4Click(Sender: TObject);
  267.     procedure RadioButton5Click(Sender: TObject);
  268.     procedure RadioButton6Click(Sender: TObject);
  269.     procedure RadioButton7Click(Sender: TObject);
  270.     procedure RadioButton8Click(Sender: TObject);
  271.     procedure RadioButton9Click(Sender: TObject);
  272.     procedure CheckBox1Click(Sender: TObject);
  273.     procedure CheckBox3Click(Sender: TObject);
  274.     procedure ScrollBar13Change(Sender: TObject);
  275.     procedure RadioButton11Click(Sender: TObject);
  276.     procedure RadioButton10Click(Sender: TObject);
  277.     procedure RadioButton12Click(Sender: TObject);
  278.     procedure ScrollBar12Change(Sender: TObject);
  279.     procedure RadioButton14Click(Sender: TObject);
  280.     procedure RadioButton13Click(Sender: TObject);
  281.     procedure RadioButton15Click(Sender: TObject);
  282.     procedure CellFontButtonClick(Sender: TObject);
  283.     procedure BitBtn15Click(Sender: TObject);
  284.     procedure BitBtn14Click(Sender: TObject);
  285.     procedure Edit1DragOver(Sender, Source: TObject; X, Y: Integer;
  286.       State: TDragState; var Accept: Boolean);
  287.     procedure Edit1DragDrop(Sender, Source: TObject; X, Y: Integer);
  288.     procedure BitBtn12Click(Sender: TObject);
  289.     procedure BitBtn17Click(Sender: TObject);
  290.     procedure BitBtn16Click(Sender: TObject);
  291.     procedure BitBtn11Click(Sender: TObject);
  292.     procedure BitBtn18Click(Sender: TObject);
  293.     procedure BitBtn19Click(Sender: TObject);
  294.     procedure BitBtn20Click(Sender: TObject);
  295.     procedure BitBtn21Click(Sender: TObject);
  296.     procedure BitBtn22Click(Sender: TObject);
  297.     procedure BitBtn23Click(Sender: TObject);
  298.     procedure BitBtn24Click(Sender: TObject);
  299.     procedure BitBtn25Click(Sender: TObject);
  300.     procedure Adrock3dCalendar7DateChange(Sender: TObject);
  301.     procedure TabbedNotebook1Change(Sender: TObject; NewTab: Integer;
  302.       var AllowChange: Boolean);
  303.     procedure BitBtn1Click(Sender: TObject);
  304.     procedure Adrock3dCalendar8DateChange(Sender: TObject);
  305.     procedure UpdateDateDiffButtonClick(Sender: TObject);
  306.     procedure Adrock3dCalendar3WeekChange(Sender: TObject);
  307.   private
  308.     { Private declarations }
  309.   public
  310.     { Public declarations }
  311.   end;
  312.  
  313. var
  314.   TAdrock3dCalendarForm: TTAdrock3dCalendarForm;
  315.   CellsImage  : Array [1..42] of String;
  316.   Cells       : Array [1..42] of String;
  317.  
  318. implementation
  319.  
  320. {$R *.DFM}
  321.  
  322. procedure TTAdrock3dCalendarForm.Adrock3dCalendar2KeyPress(Sender: TObject;
  323.   var Key: Char);
  324. begin
  325.      ShowMessage('Key');
  326. end;
  327.  
  328. procedure TTAdrock3dCalendarForm.OwnerDrawCheckBoxClick(Sender: TObject);
  329. begin
  330.      if (Adrock3dCalendar2.Style = odStandard) then
  331.        Adrock3dCalendar2.Style := odOwnerDraw
  332.      else
  333.        Adrock3dCalendar2.Style := odStandard;
  334.  
  335. end;
  336.  
  337. procedure TTAdrock3dCalendarForm.Adrock3dCalendar5DrawCell(Sender: TObject;
  338.   CellRect: TRect; Day, CellID: Integer; CellInCurrentMonth,
  339.   Selected: Boolean; var UseDefaultDrawing: Boolean);
  340. Var
  341.    ImageWidth  : Integer;
  342.    ImageHeight : Integer;
  343. begin
  344. { if (Day > 10) and (Day < 20) then
  345.   begin
  346.     UseDefaultDrawing := TRUE;
  347.     exit;
  348.   end;
  349. }
  350.   Adrock3dCalendar5.Canvas.Font.Name := 'SmallFonts';
  351.   Adrock3dCalendar5.Canvas.Font.Size := 6;
  352.  
  353.   if (Selected = TRUE) then
  354.      Adrock3dCalendar5.Canvas.brush.Color := clRED
  355.   else if (CellInCurrentMonth = FALSE) then
  356.     Adrock3dCalendar5.Canvas.brush.Color := ClGREEN
  357.   else
  358.      Adrock3dCalendar5.Canvas.brush.Color := clBLUE;
  359.      Adrock3dCalendar5.Canvas.Pen .Color := clWHITE;
  360.      Adrock3dCalendar5.Canvas.FillRect(CellRect);
  361.      Adrock3dCalendar5.Canvas.TextOut(CellRect.Left, CellRect.Top, IntToStr(Day));
  362.  
  363.      if (Cells[CellID] > '') then
  364.       begin
  365.         Adrock3dCalendar5.Canvas.Font.Color := clWhite;
  366.         Adrock3dCalendar5.Canvas.TextOut(CellRect.Left, CellRect.Bottom-Adrock3dCalendar5.Canvas.textHeight('A'),
  367.           Cells[CellID]);
  368.         Adrock3dCalendar5.Canvas.Font.Color := clRed;
  369.       end;
  370.  
  371.      if (CellsImage[CellID] = 'Alarm') then
  372.      begin
  373.        ImageWidth := Image1.Picture.Bitmap.Width;
  374.        ImageHeight := Image1.Picture.Bitmap.height;
  375.        Adrock3dCalendar5.Canvas.Draw(CellRect.Right-ImageWidth, CellRect.Top, Image1.Picture.Bitmap);
  376.      end;
  377. end;
  378.  
  379. procedure TTAdrock3dCalendarForm.Adrock3dCalendar2DBlCLick(Sender: TObject);
  380. begin
  381.      ShowMessage('Double Click');
  382. end;
  383.  
  384. procedure TTAdrock3dCalendarForm.Adrock3dCalendar2DateChange(Sender: TObject);
  385. begin
  386.      CalendarButton.Caption := 'Click Here : '+Adrock3dCalendar2.FormatDate('dZ MMMM YYYY', Adrock3dCalendar2.Date);
  387. end;
  388.  
  389. procedure TTAdrock3dCalendarForm.UpdateAddDateButtonClick(Sender: TObject);
  390. begin
  391.      AddDateLabel.Caption := FormatDateTime('D MMM, YYYY', Adrock3dCalendar8.AddDate(AddDateType.Text,
  392.        StrToInt(AddDateNumber.Text),  Adrock3dCalendar8.Date));
  393. end;
  394.  
  395. procedure TTAdrock3dCalendarForm.ListBox4DragDrop(Sender, Source: TObject; X,
  396.   Y: Integer);
  397. Var
  398.  Point : TPoint;
  399. begin
  400.    Point.X := X;
  401.    Point.y := Y;
  402.    ListBox4.Items.Add(DateToStr((Source As TAdrock3dCalendar).Date));
  403. end;
  404.  
  405. procedure TTAdrock3dCalendarForm.Adrock3dCalendar5DragOver(Sender, Source: TObject; X,
  406.   Y: Integer; State: TDragState; var Accept: Boolean);
  407. begin
  408.      if ((Source = ListBox3) or (Source = ListBox5)) and (Adrock3dCalendar5.GetIndexFromPoint(x,y) <> -1) then
  409.        Accept := TRUE
  410.      else
  411.        Accept := FALSE;
  412. end;
  413.  
  414. procedure TTAdrock3dCalendarForm.Adrock3dCalendar5DragDrop(Sender, Source: TObject; X,
  415.   Y: Integer);
  416. var
  417.   Index     : Integer;
  418.   CurrMonth : String;
  419. begin
  420.      Index := Adrock3dCalendar5.GetIndexFromPoint(x,y);
  421.      if (Adrock3dCalendar5.ISIndexInCurrentCalendarMonth(Index) = TRUE) then
  422.        CurrMonth := 'TRUE'
  423.      else
  424.        CurrMonth := 'False';
  425.  
  426.      if ((Source = ListBox3) or (Source = ListBox5)) and (Index <> -1) then
  427.       begin
  428.        ListBox4.Items.Add(
  429.          'X = '+IntToStr(x)+
  430.          ', Y = '+IntToStr(y)+
  431.          ', Day = '+IntToStr(Adrock3dCalendar5.GetDayFromIndex(Index))+
  432.          ', Cell = '+IntToStr(Index)+
  433.          ', Date = '+DateToStr(Adrock3dCalendar5.GetDateFromIndex(Index))+
  434.          ', CurrentMonth = '+ CurrMonth);
  435.         if (Source = ListBox3) then
  436.          begin
  437.            Cells[Index] := ListBox3.Items[ListBox3.ItemIndex];
  438.            Adrock3dCalendar5.RepaintCellByIndex(Index);
  439.          end
  440.        else
  441.         begin
  442.           CellsImage[Index] := ListBox5.Items[ListBox5.ItemIndex];
  443.           Adrock3dCalendar5.RepaintCellByIndex(Index);
  444.         end;
  445.       end;
  446.      ShowMessage('Something has been dropped on the calendar.');
  447. end;
  448.  
  449. procedure TTAdrock3dCalendarForm.ListBox4DragOver(Sender, Source: TObject; X,
  450.   Y: Integer; State: TDragState; var Accept: Boolean);
  451. begin
  452.   Accept := (Source = Adrock3dCalendar5);
  453.  
  454. end;
  455.  
  456. procedure TTAdrock3dCalendarForm.FormCreate(Sender: TObject);
  457. Var
  458.   Pos : Integer;
  459. begin
  460.   Adrock3dCalendar3.fMonthComboBox.TabStop := FALSE;
  461.   Adrock3dCalendar3.fYearComboBox.TabStop := FALSE;
  462.   CalendarButton.Caption := 'Click Here : '+Adrock3dCalendar2.FormatDate('dZ MMMM YYYY', Adrock3dCalendar2.Date);
  463.   Scrollbar1.Position  := Adrock3dCalendar4.SpaceATTop;
  464.   Scrollbar2.Position  := Adrock3dCalendar4.SpaceATBottom;
  465.   Scrollbar3.Position  := Adrock3dCalendar4.SpaceFromSides;
  466.   ScrollBar4.Position  := Adrock3dCalendar4.SpaceAtLeft;
  467.   ScrollBar5.Position  := Adrock3dCalendar4.SpaceBetweenTopAndLabels;
  468.   ScrollBar6.Position  := Adrock3dCalendar4.SpaceBetweenLabelsAndWeekDayHeader;
  469.   ScrollBar7.Position  := Adrock3dCalendar4.SpaceBetweenCellsAndButtons;
  470.   ScrollBar8.Position  := Adrock3dCalendar4.SpaceBetweenButtonsAndBottom;
  471.   ScrollBar9.Position  := Adrock3dCalendar4.SpaceBetweenWeekDayHeaderAndCells;
  472.   Scrollbar10.Position := Adrock3dCalendar2.CellSpaceX;
  473.   Scrollbar11.Position := Adrock3dCalendar2.CellSpaceY;
  474.   Scrollbar12.Position := Adrock3dCalendar2.CellsSurroundBevelWidth;
  475.   Scrollbar13.Position := Adrock3dCalendar2.CellBevelWidth; 
  476.   for Pos := 0 to 42 do
  477.      Cells[Pos] := '';
  478.   for Pos := 0 to 42 do
  479.      CellsImage[Pos] := '';
  480.   TabbedNoteBook1.PageIndex := 0;
  481. end;
  482.  
  483. procedure TTAdrock3dCalendarForm.BitBtn13Click(Sender: TObject);
  484. begin
  485.      EventsListBox.Items.Clear;
  486. end;
  487.  
  488. procedure TTAdrock3dCalendarForm.Adrock3dCalendar3DateChange(Sender: TObject);
  489. begin
  490.   if (onDateChangeCheckBox.Checked) then
  491.      EventsListBox.Items.Add('DateChange '+Adrock3dCalendar3.FormatDate('DZ MMM, YYYY', Adrock3dCalendar3.Date));
  492. end;
  493.  
  494. procedure TTAdrock3dCalendarForm.Adrock3dCalendar3DayChange(Sender: TObject);
  495. begin
  496.   if (onDayChangeCheckBox.Checked) then
  497.      EventsListBox.Items.Add('DayChange '+Adrock3dCalendar3.FormatDate('DZ MMM, YYYY', Adrock3dCalendar3.Date));
  498. end;
  499.  
  500. procedure TTAdrock3dCalendarForm.Adrock3dCalendar3MonthChange(Sender: TObject);
  501. begin
  502.   if (onMonthChangeCheckBox.Checked) then
  503.      EventsListBox.Items.Add('MonthChange '+Adrock3dCalendar3.FormatDate('DZ MMM, YYYY', Adrock3dCalendar3.Date));
  504. end;
  505.  
  506. procedure TTAdrock3dCalendarForm.Adrock3dCalendar3YearChange(Sender: TObject);
  507. begin
  508.   if (onYearChangeCheckBox.Checked) then
  509.      EventsListBox.Items.Add('YearChange '+Adrock3dCalendar3.FormatDate('DZ MMM, YYYY', Adrock3dCalendar3.Date));
  510.  
  511. end;
  512.  
  513. procedure TTAdrock3dCalendarForm.MonthAndYearLabelsRadioButtonClick(Sender: TObject);
  514. begin
  515.    Adrock3dCalendar2.ShowOnCalendar := scLabels;
  516. end;
  517.  
  518. procedure TTAdrock3dCalendarForm.MonthAndYearComboRadioButtonClick(Sender: TObject);
  519. begin
  520.      Adrock3dCalendar2.ShowOnCalendar := scCombos;
  521. end;
  522.  
  523. procedure TTAdrock3dCalendarForm.NothingRadioButtonClick(Sender: TObject);
  524. begin
  525.      Adrock3dCalendar2.ShowOnCalendar := scNothing;
  526. end;
  527.  
  528. procedure TTAdrock3dCalendarForm.ShowButtonsCheckBoxClick(Sender: TObject);
  529. begin
  530.      Adrock3dCalendar2.ShowButtonBar :=  ShowButtonsCheckBox.Checked;
  531. end;
  532.  
  533. procedure TTAdrock3dCalendarForm.ShowWeekDayHeaderCheckBoxClick(Sender: TObject);
  534. begin
  535.      Adrock3dCalendar2.ShowWeekDayHeader :=  ShowWeekDayHeaderCheckBox.Checked;
  536. end;
  537.  
  538. procedure TTAdrock3dCalendarForm.ShowSaturdayColorCheckBoxClick(Sender: TObject);
  539. begin
  540.      Adrock3dCalendar2.ShowSaturdayColor :=  ShowSaturdayColorCheckBox.Checked;
  541. end;
  542.  
  543. procedure TTAdrock3dCalendarForm.ShowSundayColorCheckBoxClick(Sender: TObject);
  544. begin
  545.      Adrock3dCalendar2.ShowSundayColor :=  ShowSundayColorCheckBox.Checked;
  546. end;
  547.  
  548. procedure TTAdrock3dCalendarForm.ShowPrevNextMonthCheckBoxClick(Sender: TObject);
  549. begin
  550.      Adrock3dCalendar2.ShowPrevNextMonth :=  ShowPrevNextMonthCheckBox.Checked;
  551. end;
  552.  
  553. procedure TTAdrock3dCalendarForm.ScrollBar1Change(Sender: TObject);
  554. begin
  555.      Adrock3dCalendar4.SpaceAtTop:=ScrollBar1.Position
  556. end;
  557.  
  558. procedure TTAdrock3dCalendarForm.ScrollBar2Change(Sender: TObject);
  559. begin
  560.      Adrock3dCalendar4.SpaceAtBottom :=ScrollBar2.Position
  561. end;
  562.  
  563. procedure TTAdrock3dCalendarForm.ScrollBar3Change(Sender: TObject);
  564. begin
  565.      Adrock3dCalendar4.SpaceFromSides :=ScrollBar3.Position
  566. end;
  567.  
  568. procedure TTAdrock3dCalendarForm.ScrollBar4Change(Sender: TObject);
  569. begin
  570.      Adrock3dCalendar4.SpaceAtLeft :=ScrollBar4.Position
  571. end;
  572.  
  573. procedure TTAdrock3dCalendarForm.CalendarButtonClick(Sender: TObject);
  574. begin
  575.      Messagedlg('This button was placed on the calendar, because the calendar '+
  576.                 'can accept child controls.'+#13#13+'You can make space for the '+
  577.                 'child controls just by setting a few properties.'+#13#13+
  578.                 'Check the PrecisionSpacing tab for examples that deal with spacing.',
  579.                 mtInformation, [mbok], 0);
  580.  
  581. end;
  582.  
  583. procedure TTAdrock3dCalendarForm.BitBtn7Click(Sender: TObject);
  584. begin
  585.      Adrock3dCalendar1.NextMonth;
  586. end;
  587.  
  588. procedure TTAdrock3dCalendarForm.BitBtn8Click(Sender: TObject);
  589. begin
  590.      Adrock3dCalendar1.PrevMonth;
  591. end;
  592.  
  593. procedure TTAdrock3dCalendarForm.BitBtn9Click(Sender: TObject);
  594. begin
  595.      Adrock3dCalendar1.NextYear;
  596. end;
  597.  
  598. procedure TTAdrock3dCalendarForm.BitBtn10Click(Sender: TObject);
  599. begin
  600.      Adrock3dCalendar1.PrevYear;
  601. end;
  602.  
  603. procedure TTAdrock3dCalendarForm.BitBtn3Click(Sender: TObject);
  604. begin
  605.      Adrock3dCalendar1.NextDay;
  606. end;
  607.  
  608. procedure TTAdrock3dCalendarForm.BitBtn4Click(Sender: TObject);
  609. begin
  610.      Adrock3dCalendar1.PrevDay;
  611. end;
  612.  
  613. procedure TTAdrock3dCalendarForm.BitBtn5Click(Sender: TObject);
  614. begin
  615.      Adrock3dCalendar1.NextWeek;
  616. end;
  617.  
  618. procedure TTAdrock3dCalendarForm.BitBtn6Click(Sender: TObject);
  619. begin
  620.      Adrock3dCalendar1.PrevWeek;
  621. end;
  622.  
  623. procedure TTAdrock3dCalendarForm.TodayButtonClick(Sender: TObject);
  624. begin
  625.      Adrock3dCalendar1.Today;
  626. end;
  627.  
  628. procedure TTAdrock3dCalendarForm.SetDateButtonClick(Sender: TObject);
  629. begin
  630.      Adrock3dCalendar1.Date:= EncodeDate(1996, 1,25);
  631. end;
  632.  
  633. procedure TTAdrock3dCalendarForm.ScrollBar5Change(Sender: TObject);
  634. begin
  635.      Adrock3dCalendar4.SpaceBetweenTopAndLabels :=  ScrollBar5.Position
  636. end;
  637.  
  638. procedure TTAdrock3dCalendarForm.ScrollBar6Change(Sender: TObject);
  639. begin
  640.      Adrock3dCalendar4.SpaceBetweenLabelsAndWeekDayHeader :=  ScrollBar6.Position
  641. end;
  642.  
  643. procedure TTAdrock3dCalendarForm.ScrollBar7Change(Sender: TObject);
  644. begin
  645.      Adrock3dCalendar4.SpaceBetweenCellsAndButtons :=  ScrollBar7.Position;
  646. end;
  647.  
  648. procedure TTAdrock3dCalendarForm.ScrollBar8Change(Sender: TObject);
  649. begin
  650.      Adrock3dCalendar4.SpaceBetweenButtonsAndBottom :=  ScrollBar8.Position
  651. end;
  652.  
  653. procedure TTAdrock3dCalendarForm.ScrollBar9Change(Sender: TObject);
  654. begin
  655.      Adrock3dCalendar4.SpaceBetweenWeekDayHeaderAndCells :=  ScrollBar9.Position
  656. end;
  657.  
  658. procedure TTAdrock3dCalendarForm.ScrollBar10Change(Sender: TObject);
  659. begin
  660.      Adrock3dCalendar2.CellSpaceX := Scrollbar10.Position;
  661. end;
  662.  
  663. procedure TTAdrock3dCalendarForm.ScrollBar11Change(Sender: TObject);
  664. begin
  665.      Adrock3dCalendar2.CellSpaceY := Scrollbar11.Position;
  666. end;
  667.  
  668. procedure TTAdrock3dCalendarForm.RadioButton4Click(Sender: TObject);
  669. begin
  670.      Adrock3dCalendar2.CellTextHorizontalAlign := htLeft;
  671. end;
  672.  
  673. procedure TTAdrock3dCalendarForm.RadioButton5Click(Sender: TObject);
  674. begin
  675.      Adrock3dCalendar2.CellTextHorizontalAlign := htCenter;
  676. end;
  677.  
  678. procedure TTAdrock3dCalendarForm.RadioButton6Click(Sender: TObject);
  679. begin
  680.      Adrock3dCalendar2.CellTextHorizontalAlign := htRight;
  681. end;
  682.  
  683. procedure TTAdrock3dCalendarForm.RadioButton7Click(Sender: TObject);
  684. begin
  685.      Adrock3dCalendar2.CellTextVerticalAlign := vtTop;
  686. end;
  687.  
  688. procedure TTAdrock3dCalendarForm.RadioButton8Click(Sender: TObject);
  689. begin
  690.      Adrock3dCalendar2.CellTextVerticalAlign := vtCenter;
  691. end;
  692.  
  693. procedure TTAdrock3dCalendarForm.RadioButton9Click(Sender: TObject);
  694. begin
  695.      Adrock3dCalendar2.CellTextVerticalAlign := vtBottom;
  696. end;
  697.  
  698. procedure TTAdrock3dCalendarForm.CheckBox1Click(Sender: TObject);
  699. begin
  700.      if (CheckBox1.Checked = TRUE) then
  701.       begin
  702.         Adrock3dCalendar3.MouseMode := CmClickAndMoveAroundCells;
  703.         MessageDlg('Click the mouse over a cell and while the mouse button is down move the mouse.',
  704.           mtInformation, [mbOK], 0);
  705.       end
  706.      else
  707.        begin
  708.         Adrock3dCalendar3.MouseMode := CmClickOnCell;
  709.         MessageDlg('Click the mouse over a cell and while the mouse button is down move the mouse.',
  710.           mtInformation, [mbOK], 0);
  711.       end
  712. end;
  713.  
  714. procedure TTAdrock3dCalendarForm.CheckBox3Click(Sender: TObject);
  715. begin
  716.      if (CheckBox3.Checked = TRUE) then
  717.       begin
  718.         Adrock3dCalendar3.SelectMode := smDuringMouseMove
  719.       end
  720.      else
  721.       begin
  722.         Adrock3dCalendar3.SelectMode := smOnlyAfterMouseUp;
  723.       end
  724.  
  725. end;
  726.  
  727. procedure TTAdrock3dCalendarForm.ScrollBar13Change(Sender: TObject);
  728. begin
  729.   Adrock3dCalendar2.CellBevelWidth := Scrollbar13.Position;
  730. end;
  731.  
  732. procedure TTAdrock3dCalendarForm.RadioButton11Click(Sender: TObject);
  733. begin
  734.   Adrock3dCalendar2.CellBevel := bvNone;
  735.  
  736. end;
  737.  
  738. procedure TTAdrock3dCalendarForm.RadioButton10Click(Sender: TObject);
  739. begin
  740.   Adrock3dCalendar2.CellBevel := bvRaised
  741.  
  742. end;
  743.  
  744. procedure TTAdrock3dCalendarForm.RadioButton12Click(Sender: TObject);
  745. begin
  746.   Adrock3dCalendar2.CellBevel := bvLowered;
  747. end;
  748.  
  749. procedure TTAdrock3dCalendarForm.ScrollBar12Change(Sender: TObject);
  750. begin
  751.   Adrock3dCalendar2.CellsSurroundBevelWidth := Scrollbar12.Position;
  752. end;
  753.  
  754. procedure TTAdrock3dCalendarForm.RadioButton14Click(Sender: TObject);
  755. begin
  756.   Adrock3dCalendar2.CellsSurroundBevel := bvNone;
  757. end;
  758.  
  759. procedure TTAdrock3dCalendarForm.RadioButton13Click(Sender: TObject);
  760. begin
  761.   Adrock3dCalendar2.CellsSurroundBevel := bvRaised;
  762. end;
  763.  
  764. procedure TTAdrock3dCalendarForm.RadioButton15Click(Sender: TObject);
  765. begin
  766.   Adrock3dCalendar2.CellsSurroundBevel := bvLowered;
  767. end;
  768.  
  769. procedure TTAdrock3dCalendarForm.CellFontButtonClick(Sender: TObject);
  770. begin
  771.      FontDialog1.Font.Assign(Adrock3dCalendar2.CellFont);
  772.      if (FontDialog1.Execute = TRUE) then
  773.        Adrock3dCalendar2.CellFont.Assign(FontDialog1.Font);
  774. end;
  775.  
  776. procedure TTAdrock3dCalendarForm.BitBtn15Click(Sender: TObject);
  777. begin
  778.      FontDialog1.Font.Assign(Adrock3dCalendar2.WeekDayHeaderFont);
  779.      if (FontDialog1.Execute = TRUE) then
  780.        Adrock3dCalendar2.WeekDayHeaderFont.Assign(FontDialog1.Font);
  781. end;
  782.  
  783. procedure TTAdrock3dCalendarForm.BitBtn14Click(Sender: TObject);
  784. begin
  785.      FontDialog1.Font.Assign(Adrock3dCalendar2.SelectedCellFont);
  786.      if (FontDialog1.Execute = TRUE) then
  787.        Adrock3dCalendar2.SelectedCellFont.Assign(FontDialog1.Font);
  788. end;
  789.  
  790. procedure TTAdrock3dCalendarForm.Edit1DragOver(Sender, Source: TObject; X, Y: Integer;
  791.   State: TDragState; var Accept: Boolean);
  792. begin
  793.      if (Source = Adrock3dCalendar5) then
  794.        Accept := TRUE;
  795. end;
  796.  
  797. procedure TTAdrock3dCalendarForm.Edit1DragDrop(Sender, Source: TObject; X,
  798.   Y: Integer);
  799. Var
  800.  Point : TPoint;
  801. begin
  802.    Point.X := X;
  803.    Point.y := Y;
  804.    Edit1.text := DateToStr((Source As TAdrock3dCalendar).Date);
  805.    ShowMessage('Date has been dropped : '+Edit1.Text);
  806. end;
  807.  
  808. procedure TTAdrock3dCalendarForm.BitBtn12Click(Sender: TObject);
  809. begin
  810.      FontDialog1.Font.Assign(Adrock3dCalendar6.CellFont);
  811.      if (FontDialog1.Execute = TRUE) then
  812.        Adrock3dCalendar6.CellFont.Assign(FontDialog1.Font);
  813. end;
  814.  
  815. procedure TTAdrock3dCalendarForm.BitBtn17Click(Sender: TObject);
  816. begin
  817.      FontDialog1.Font.Assign(Adrock3dCalendar6.WeekDayHeaderFont);
  818.      if (FontDialog1.Execute = TRUE) then
  819.         Adrock3dCalendar6.WeekDayHeaderFont.Assign(FontDialog1.Font);
  820. end;
  821.  
  822. procedure TTAdrock3dCalendarForm.BitBtn16Click(Sender: TObject);
  823. begin
  824.      FontDialog1.Font.Assign(Adrock3dCalendar6.SelectedCellFont);
  825.      if (FontDialog1.Execute = TRUE) then
  826.        Adrock3dCalendar6.SelectedCellFont.Assign(FontDialog1.Font);
  827. end;
  828.  
  829. procedure TTAdrock3dCalendarForm.BitBtn11Click(Sender: TObject);
  830. begin
  831.      ColorDialog1.Color := Adrock3dCalendar6.ColorBack;
  832.      if (ColorDialog1.Execute = TRUE) then
  833.        Adrock3dCalendar6.ColorBack := ColorDialog1.Color;
  834. end;
  835.  
  836. procedure TTAdrock3dCalendarForm.BitBtn18Click(Sender: TObject);
  837. begin
  838.      ColorDialog1.Color := Adrock3dCalendar6.ColorBetweenCellsBackColor;
  839.      if (ColorDialog1.Execute = TRUE) then
  840.        Adrock3dCalendar6.ColorBetweenCellsBackColor := ColorDialog1.Color;
  841. end;
  842.  
  843. procedure TTAdrock3dCalendarForm.BitBtn19Click(Sender: TObject);
  844. begin
  845.      ColorDialog1.Color := Adrock3dCalendar6.ColorWeekDayHeaderBackColor;
  846.      if (ColorDialog1.Execute = TRUE) then
  847.        Adrock3dCalendar6.ColorWeekDayHeaderBackColor := ColorDialog1.Color;
  848. end;
  849.  
  850. procedure TTAdrock3dCalendarForm.BitBtn20Click(Sender: TObject);
  851. begin
  852.      ColorDialog1.Color := Adrock3dCalendar6.ColorMonFri;
  853.      if (ColorDialog1.Execute = TRUE) then
  854.        Adrock3dCalendar6.ColorMonFri := ColorDialog1.Color;
  855. end;
  856.  
  857. procedure TTAdrock3dCalendarForm.BitBtn21Click(Sender: TObject);
  858. begin
  859.      ColorDialog1.Color := Adrock3dCalendar6.ColorSaturday;
  860.      if (ColorDialog1.Execute = TRUE) then
  861.        Adrock3dCalendar6.ColorSaturday := ColorDialog1.Color;
  862. end;
  863.  
  864. procedure TTAdrock3dCalendarForm.BitBtn22Click(Sender: TObject);
  865. begin
  866.      ColorDialog1.Color := Adrock3dCalendar6.ColorSunday;
  867.      if (ColorDialog1.Execute = TRUE) then
  868.        Adrock3dCalendar6.ColorSunday := ColorDialog1.Color;
  869. end;
  870.  
  871. procedure TTAdrock3dCalendarForm.BitBtn23Click(Sender: TObject);
  872. begin
  873.      ColorDialog1.Color := Adrock3dCalendar6.ColorPrevNextMonth;
  874.      if (ColorDialog1.Execute = TRUE) then
  875.        Adrock3dCalendar6.ColorPrevNextMonth := ColorDialog1.Color;
  876. end;
  877.  
  878. procedure TTAdrock3dCalendarForm.BitBtn24Click(Sender: TObject);
  879. begin
  880.      FontDialog1.Font.Assign(Adrock3dCalendar6.MonthLabelFont);
  881.      if (FontDialog1.Execute = TRUE) then
  882.        Adrock3dCalendar6.MonthLabelFont.Assign(FontDialog1.Font);
  883. end;
  884.  
  885. procedure TTAdrock3dCalendarForm.BitBtn25Click(Sender: TObject);
  886. begin
  887.      FontDialog1.Font.Assign(Adrock3dCalendar6.YearLabelFont);
  888.      if (FontDialog1.Execute = TRUE) then
  889.        Adrock3dCalendar6.YearLabelFont.Assign(FontDialog1.Font);
  890. end;
  891.  
  892. procedure TTAdrock3dCalendarForm.Adrock3dCalendar7DateChange(Sender: TObject);
  893. begin
  894.      { The functions that are using 2 mean that the starting ssay of the week is a }
  895.      { monday, Since 1=Sunday, 2=Monday, etc.. }
  896.      SelectedDateLabel.Caption := DateToStr(Adrock3dCalendar7.Date);
  897.      SelectedDayLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnDayOfMonth(Adrock3dCalendar7.Date));
  898.      SelectedMonthLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnMonth(Adrock3dCalendar7.Date));
  899.      SelectedYearLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnYear(Adrock3dCalendar7.Date));
  900.  
  901.      DayOfWeekLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnDayOfWeek(2, Adrock3dCalendar7.Date))+
  902.                             ', '+Adrock3dCalendar7.ReturnWeekDayName(2,
  903.                              Adrock3dCalendar7.ReturnDayOfWeek(2, Adrock3dCalendar7.Date));
  904.  
  905.      DelphiDayOfWeekLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnDelphiDayOfWeek(2,
  906.         Adrock3dCalendar7.ReturnDayOfWeek(2, Adrock3dCalendar7.Date)));
  907.  
  908.      DayOfYearLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnDayOfYear(Adrock3dCalendar7.Date));
  909.      DaysLeftInyearLabel.Caption := IntToStr(Adrock3dCalendar7.DaysLeftInyear(Adrock3dCalendar7.Date));
  910.      DayOfMonthLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnDayOfMonth(Adrock3dCalendar7.Date));
  911.      DaysLeftInMonthLabel.Caption := IntToStr(Adrock3dCalendar7.DaysLeftInMonth(Adrock3dCalendar7.Date));
  912.      WeekOfMonthLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnWeekofMonth(2, Adrock3dCalendar7.Date));
  913.      WeekOfYearLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnWeekofYear(Adrock3dCalendar7.Date));
  914.      QuarterLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnQuarter(Adrock3dCalendar7.Date));
  915.      CenturyLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnCentury(Adrock3dCalendar7.Date));
  916.  
  917.      DayThLabel.Caption := Adrock3dCalendar7.ReturnDayTh(Adrock3dCalendar7.Date)+',  '+
  918.        IntToStr(Adrock3dCalendar7.ReturnDayOfMonth(Adrock3dCalendar7.Date))+
  919.        Adrock3dCalendar7.ReturnDayTh(Adrock3dCalendar7.Date);
  920.  
  921.      DaysAgoLabel.Caption := Adrock3dCalendar7.ReturnDaysAgo(Adrock3dCalendar7.Date);
  922.      WeeksAgoLabel.Caption := Adrock3dCalendar7.ReturnWeeksAgo(2, Adrock3dCalendar7.Date);
  923.      MonthsAgoLabel.Caption := Adrock3dCalendar7.ReturnMonthsAgo(Adrock3dCalendar7.Date);
  924.      QuartersAgoLabel.Caption := Adrock3dCalendar7.ReturnQuartersAgo(Adrock3dCalendar7.Date);
  925.      YearsAgoLabel.Caption := Adrock3dCalendar7.ReturnYearsAgo(Adrock3dCalendar7.Date);
  926.  
  927.      DaysBetweenDatesLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnDaysBetweenDates(Adrock3dCalendar7.Date, Date));
  928.      WeeksBetweenDatesLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnWeeksBetweenDates(Adrock3dCalendar7.Date, Date));
  929.      MonthsBetweenDatesLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnMonthsBetweenDates(Adrock3dCalendar7.Date, Date));
  930.      QuartersBetweenDatesLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnQuartersBetweenDates(Adrock3dCalendar7.Date, Date));
  931.      YearsBetweenDatesLabel.Caption := IntToStr(Adrock3dCalendar7.ReturnYearsBetweenDates(Adrock3dCalendar7.Date, Date));
  932.  
  933.      BoundryWeeksBetweenDatesLabel.Caption :=
  934.          IntToStr(Adrock3dCalendar7.ReturnBoundaryWeeksBetweenDates(2, Adrock3dCalendar7.Date, Date));
  935.      BoundryMonthsBetweenDatesLabel.Caption :=
  936.          IntToStr(Adrock3dCalendar7.ReturnBoundaryMonthsBetweenDates(Adrock3dCalendar7.Date, Date));
  937.      BoundryQuartersBetweenDatesLabel.Caption :=
  938.          IntToStr(Adrock3dCalendar7.ReturnBoundaryQuartersBetweenDates(Adrock3dCalendar7.Date, Date));
  939.      BoundryYearsBetweenDatesLabel.Caption :=
  940.          IntToStr(Adrock3dCalendar7.ReturnBoundaryYearsBetweenDates(Adrock3dCalendar7.Date, Date));
  941. end;
  942.  
  943. procedure TTAdrock3dCalendarForm.TabbedNotebook1Change(Sender: TObject;
  944.   NewTab: Integer; var AllowChange: Boolean);
  945. begin
  946.      if (newTab = 3) then
  947.       begin
  948.         { Update the details on this form }
  949.         Adrock3dCalendar7.Date := Date;
  950.         Adrock3dCalendar7DateChange(Sender);
  951.       end;
  952.      if (newTab = 4) then
  953.       begin
  954.         { Update the details on this form }
  955.         Adrock3dCalendar8.Date := Date;
  956.         Adrock3dCalendar8DateChange(Sender);
  957.       end;
  958. end;
  959.  
  960. procedure TTAdrock3dCalendarForm.BitBtn1Click(Sender: TObject);
  961. begin
  962.      TabbedNotebook1.PageIndex := 4;
  963. end;
  964.  
  965. procedure TTAdrock3dCalendarForm.Adrock3dCalendar8DateChange(Sender: TObject);
  966. begin
  967.      SelectedDatelabel1.Caption      := DateToStr(Adrock3dCalendar8.Date);
  968.      SelectedDatePlus1DayLabel.Caption    := DateToStr(Adrock3dCalendar8.AddDays(1, Adrock3dCalendar8.Date));
  969.      SelectedDatePlus1WeekLabel.Caption   := DateToStr(Adrock3dCalendar8.AddWeeks(1, Adrock3dCalendar8.Date));
  970.      SelectedDatePlus1MonthLabel.Caption  := DateToStr(Adrock3dCalendar8.AddMonths(1, Adrock3dCalendar8.Date));
  971.      SelectedDatePlus1YearLabel.Caption   := DateToStr(Adrock3dCalendar8.AddYears(1, Adrock3dCalendar8.Date));
  972.  
  973.      SelectedDateMinus1DayLabel.Caption    := DateToStr(Adrock3dCalendar8.AddDays(-1, Adrock3dCalendar8.Date));
  974.      SelectedDateMinus1WeekLabel.Caption   := DateToStr(Adrock3dCalendar8.AddWeeks(-1, Adrock3dCalendar8.Date));
  975.      SelectedDateMinus1MonthLabel.Caption  := DateToStr(Adrock3dCalendar8.AddMonths(-1, Adrock3dCalendar8.Date));
  976.      SelectedDateMinus1YearLabel.Caption   := DateToStr(Adrock3dCalendar8.AddYears(-1, Adrock3dCalendar8.Date));
  977.  
  978.      UpdateAddDateButtonClick(Sender);
  979.      UpdateDateDiffButtonClick(Sender);
  980. end;
  981.  
  982. procedure TTAdrock3dCalendarForm.UpdateDateDiffButtonClick(Sender: TObject);
  983. begin
  984.      DateDiffLabel.Caption := IntToStr(Adrock3dCalendar8.DateDiff(DateDiffType.Text, 2, Adrock3dCalendar8.Date,
  985.        StrToDate('10/10/95')));
  986. end;
  987.  
  988. procedure TTAdrock3dCalendarForm.Adrock3dCalendar3WeekChange(
  989.   Sender: TObject);
  990. begin
  991.   if (OnWeekChangeCheckBox.Checked) then
  992.      EventsListBox.Items.Add('WeekChange '+Adrock3dCalendar3.FormatDate('DZ MMM, YYYY', Adrock3dCalendar3.Date));
  993. end;
  994.  
  995. end.
  996.  
  997.